package org.dse.beans;

/**
 * This class represents the keywordindex table in the database. It is used as
 * an O-R mapping bean.
 * 
 * The fields in the class are corresponding with the column in database table.
 * Like keyword, tagScore, and a foreign key pointing to the htmldocument table.
 * The methods are only setters and getters.
 * 
 * @author zhangchen
 * 
 */
public class KeywordIndex implements java.io.Serializable {

	private static final long serialVersionUID = -9055797903624608801L;

	// Fields
	private Integer indexId;

	private HtmlDocument htmlDocument;

	private String keyword;

	private Integer appearTimes;

	private String positions;

	private Integer clickTimes;

	private Integer tagScore;

	// Property accessors
	/**
	 * Get the indexId.
	 * 
	 * @return an integer representing the id
	 */
	public Integer getIndexId() {
		return this.indexId;
	}

	/**
	 * Set the indexId.
	 * 
	 * @param indexId
	 *            the value to be set
	 */
	public void setIndexId(Integer indexId) {
		this.indexId = indexId;
	}

	/**
	 * Get the html document pointed to.
	 * 
	 * @return an object representing the htmldocument bean
	 */
	public HtmlDocument getHtmlDocument() {
		return this.htmlDocument;
	}

	/**
	 * Set the html document pointed to.
	 * 
	 * @param htmlDocument
	 *            the object to be set
	 */
	public void setHtmlDocument(HtmlDocument htmlDocument) {
		this.htmlDocument = htmlDocument;
	}

	/**
	 * Get the keyword.
	 * 
	 * @return a string representing the keyword
	 */
	public String getKeyword() {
		return this.keyword;
	}

	/**
	 * Set the keyword.
	 * 
	 * @param keyword
	 *            the value to be set
	 */
	public void setKeyword(String keyword) {
		this.keyword = keyword;
	}

	/**
	 * Get the appearTimes.
	 * 
	 * @return an integer representing the appear times of this keyword
	 */
	public Integer getAppearTimes() {
		return this.appearTimes;
	}

	/**
	 * Set the appearTimes.
	 * 
	 * @param appearTimes
	 *            the value to be set
	 */
	public void setAppearTimes(Integer appearTimes) {
		this.appearTimes = appearTimes;
	}

	/**
	 * Get the positions.
	 * 
	 * @return a string representing the positions of this keyword
	 */
	public String getPositions() {
		return this.positions;
	}

	/**
	 * Set the positions.
	 * 
	 * @param positions
	 *            the value to be set
	 */
	public void setPositions(String positions) {
		this.positions = positions;
	}

	/**
	 * Get the clickTimes.
	 * 
	 * @return an integer representing the click times of this keyword on this
	 *         document
	 */
	public Integer getClickTimes() {
		return this.clickTimes;
	}

	/**
	 * Set the clickTimes.
	 * 
	 * @param clickTimes
	 *            the value to be set
	 */
	public void setClickTimes(Integer clickTimes) {
		this.clickTimes = clickTimes;
	}

	/**
	 * Get the tagScore.
	 * 
	 * @return an integer representing the keyword score
	 */
	public Integer getTagScore() {
		return this.tagScore;
	}

	/**
	 * Set the tagScore.
	 * 
	 * @param tagScore
	 *            the value to be set
	 */
	public void setTagScore(Integer tagScore) {
		this.tagScore = tagScore;
	}
}